import { IsNumber, IsOptional, IsString } from 'class-validator'
import { Column, Entity, PrimaryGeneratedColumn, UpdateDateColumn } from 'typeorm'

@Entity('button')
export class Button {
  @PrimaryGeneratedColumn('increment')
  @IsNumber()
  buttonId: number

  /**
   * 首页按钮
   */
  @Column({ nullable: true })
  @IsString()
  @IsOptional()
  homeButtonImg?: string

  /**
   * 首页按钮外链
   */
  @Column({ nullable: true })
  @IsString()
  @IsOptional()
  homeButtonUrl?: string

  /**
   * 游戏下载按钮图片
   */
  @Column({ nullable: true })
  @IsString()
  @IsOptional()
  gameDownLoadImg?: string

  /**
   * 游戏下载外链
   */
  @Column({ nullable: true })
  @IsString()
  @IsOptional()
  gameDownLoadUrl?: string

  /**
   * 账号注册按钮图片
   */
  @Column({ nullable: true })
  @IsString()
  @IsOptional()
  accountRegisterImg?: string

  /**
   * 账号注册按钮外链
   */
  @Column({ nullable: true })
  @IsString()
  @IsOptional()
  accountRegisterUrl?: string

  /**
   * 特权礼包按钮图片
   */
  @Column({ nullable: true })
  @IsString()
  @IsOptional()
  privilegeGiftImg?: string

  /**
   * 新手入门按钮图片
   */
  @Column({ nullable: true })
  @IsString()
  @IsOptional()
  newbieGuideImg?: string

  /**
   * 客服服务按钮图片
   */
  @Column({ nullable: true })
  @IsString()
  @IsOptional()
  customerServiceImg?: string

  /**
   * 首页 Logo 图片
   */
  @Column({ nullable: true })
  @IsString()
  @IsOptional()
  homeLogoImg?: string

  /**
   * 顶部游戏下载按钮图片
   */
  @Column({ nullable: true })
  @IsString()
  @IsOptional()
  topGameDownLoadImg?: string

  /**
   * 顶部账号注册按钮图片
   */
  @Column({ nullable: true })
  @IsString()
  @IsOptional()
  topAccountRegisterImg?: string

  /**
   * 底部游戏下载按钮图片
   */
  @Column({ nullable: true })
  @IsString()
  @IsOptional()
  bottomGameDownLoadImg?: string

  /**
   * 底部账号注册按钮图片
   */
  @Column({ nullable: true })
  @IsString()
  @IsOptional()
  bottomAccountRegisterImg?: string

  @UpdateDateColumn()
  updatedAt?: Date
}
